package com.chuangke.file.service;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.chuangke.common.db.page.CkPageQuery;
import com.chuangke.file.model.FileAnalyseResponse;
import com.chuangke.file.model.FileInfo;
import com.chuangke.file.model.FileInfoVersion;
import com.chuangke.framework.service.CommonQueryService;
import com.chuangke.system.entity.SysComment;

/**
 * 文件查询服务
 * @author Administrator
 *
 */
public interface FileQueryService extends CommonQueryService<FileInfo>{

	IPage<FileInfo> query(CkPageQuery pageQuery);

	List<FileInfo> listFiles(List<String> fileIds);

	List<FileInfo> listFiles(String parentId, String dbankId, String delFlag, String fileType,String order);
	
	//共享的文档
	List<FileInfo> listShareFiles(String dbankId, String userId, String order);
	
	// 附件历史版本
	List<FileInfoVersion> listHistory(String fileId);
	
	/**
	 * 根据文件id，找到当前文件及文件夹下面的所有文件的id
	 * @param fileIds
	 * @return
	 */
	List<FileInfo> getChildrenFileIds(List<String> fileIds) ;
	
	/**
	 * 根据文件id，找到当前文件及文件夹下面的所有文件
	 * @param fileIds
	 * @return
	 */
	List<FileInfo> listDeepFiles(List<String> fileIds) ;
	
	List<FileInfo> listAllParentFiles(String fileId) ;
	
	IPage<Map<String, Object>> pageShare(CkPageQuery pageQuery);
	
	IPage<Map<String, Object>> pageFocus(CkPageQuery pageQuery);
	
	// 获取评论
	List<SysComment> listComments(String fileId);
	
	IPage<FileInfo> pagePublish(CkPageQuery pageQuery);
	
	IPage<FileInfo> pageTopPublish(CkPageQuery pageQuery);

	FileAnalyseResponse analyse(String dbankId);
}
